package string;

public interface IMyString {
    int length();

    boolean isEmpty();

    String toString();

    char charAt(int i);

    //返回索引从begin至end-1的子串; 所以子串长度为 end - begin
    MyString substring(int begin, int end);

    //返回序号从begin至串尾的子串
    MyString substring(int begin);

    //返回this与s串连接生成的串。若s==null，插入"null"
    MyString concat(MyString s);

    //返回删除所有空格后的字符串
    MyString trim();

    //将串中的大写字母全部转换成对应的小写字母
    MyString toLowerCase();

    //将串中的小写字母全部转换成对应的大写字母
    MyString toUpperCase();

    //判断prefix是否前缀子串
    boolean startsWith(MyString prefix);

    //判断suffix是否后缀子串
    boolean endsWith(MyString suffix);

    int parseInt(MyString str);

    MyString toBinary(int value);

    //Brute-Force算法,返回当前串（目标串）中首个与模式串pattern匹配的子串序号，匹配失败时返回-1
    int indexOf(MyString pattern);
}
